package listbyorder.access001_100.test88;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/6/5 10:41
 */
public class Solution1 {

    // 合并两个有序数组
    // 方法一——————自己的方法
    // 创建一个辅助数组，存储nums1的前m个数据
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int[] temp = new int[m];
        for (int i = 0; i < m; i++) {
            temp[i] = nums1[i];
        }
        int n1 = 0;   // nums1的指针
        int n2 = 0;   // nums2的指针
        int t = 0;
        while (n2 < n && t < m) {
            if (nums2[n2] < temp[t]) {
                nums1[n1++] = nums2[n2++];
            } else {
                nums1[n1++] = temp[t++];
            }
        }
        while (n2 < n) {
            nums1[n1++] = nums2[n2++];
        }
        while (t < m) {
            nums1[n1++] = temp[t++];
        }
    }
}
